/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package info.bondtnt.labs.model.research;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;

/**
 * <!-- begin-user-doc -->
 * The <b>Package</b> for the model.
 * It contains accessors for the meta objects to represent
 * <ul>
 *   <li>each class,</li>
 *   <li>each feature of each class,</li>
 *   <li>each enum,</li>
 *   <li>and each data type</li>
 * </ul>
 * <!-- end-user-doc -->
 * @see info.bondtnt.labs.model.research.ResearchFactory
 * @model kind="package"
 * @generated
 */
public interface ResearchPackage extends EPackage {
	/**
	 * The package name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNAME = "research";

	/**
	 * The package namespace URI.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNS_URI = "http:///info/bondtnt/labs/model/research.ecore";

	/**
	 * The package namespace name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNS_PREFIX = "info.bondtnt.labs.model.research";

	/**
	 * The singleton instance of the package.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	ResearchPackage eINSTANCE = info.bondtnt.labs.model.research.impl.ResearchPackageImpl.init();

	/**
	 * The meta object id for the '{@link info.bondtnt.labs.model.research.impl.AbstractBoundedGenericParameterImpl <em>Abstract Bounded Generic Parameter</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see info.bondtnt.labs.model.research.impl.AbstractBoundedGenericParameterImpl
	 * @see info.bondtnt.labs.model.research.impl.ResearchPackageImpl#getAbstractBoundedGenericParameter()
	 * @generated
	 */
	int ABSTRACT_BOUNDED_GENERIC_PARAMETER = 0;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int ABSTRACT_BOUNDED_GENERIC_PARAMETER__NAME = 0;

	/**
	 * The number of structural features of the '<em>Abstract Bounded Generic Parameter</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int ABSTRACT_BOUNDED_GENERIC_PARAMETER_FEATURE_COUNT = 1;

	/**
	 * The meta object id for the '{@link info.bondtnt.labs.model.research.impl.BoundedDoubleParameterImpl <em>Bounded Double Parameter</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see info.bondtnt.labs.model.research.impl.BoundedDoubleParameterImpl
	 * @see info.bondtnt.labs.model.research.impl.ResearchPackageImpl#getBoundedDoubleParameter()
	 * @generated
	 */
	int BOUNDED_DOUBLE_PARAMETER = 1;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int BOUNDED_DOUBLE_PARAMETER__NAME = ABSTRACT_BOUNDED_GENERIC_PARAMETER__NAME;

	/**
	 * The feature id for the '<em><b>First Value</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int BOUNDED_DOUBLE_PARAMETER__FIRST_VALUE = ABSTRACT_BOUNDED_GENERIC_PARAMETER_FEATURE_COUNT + 0;

	/**
	 * The feature id for the '<em><b>Last Value</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int BOUNDED_DOUBLE_PARAMETER__LAST_VALUE = ABSTRACT_BOUNDED_GENERIC_PARAMETER_FEATURE_COUNT + 1;

	/**
	 * The feature id for the '<em><b>Step Value</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int BOUNDED_DOUBLE_PARAMETER__STEP_VALUE = ABSTRACT_BOUNDED_GENERIC_PARAMETER_FEATURE_COUNT + 2;

	/**
	 * The number of structural features of the '<em>Bounded Double Parameter</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int BOUNDED_DOUBLE_PARAMETER_FEATURE_COUNT = ABSTRACT_BOUNDED_GENERIC_PARAMETER_FEATURE_COUNT + 3;

	/**
	 * The meta object id for the '{@link info.bondtnt.labs.model.research.impl.BoundedGenericParameterImpl <em>Bounded Generic Parameter</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see info.bondtnt.labs.model.research.impl.BoundedGenericParameterImpl
	 * @see info.bondtnt.labs.model.research.impl.ResearchPackageImpl#getBoundedGenericParameter()
	 * @generated
	 */
	int BOUNDED_GENERIC_PARAMETER = 2;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int BOUNDED_GENERIC_PARAMETER__NAME = ABSTRACT_BOUNDED_GENERIC_PARAMETER__NAME;

	/**
	 * The feature id for the '<em><b>All Values</b></em>' attribute list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int BOUNDED_GENERIC_PARAMETER__ALL_VALUES = ABSTRACT_BOUNDED_GENERIC_PARAMETER_FEATURE_COUNT + 0;

	/**
	 * The number of structural features of the '<em>Bounded Generic Parameter</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int BOUNDED_GENERIC_PARAMETER_FEATURE_COUNT = ABSTRACT_BOUNDED_GENERIC_PARAMETER_FEATURE_COUNT + 1;

	/**
	 * The meta object id for the '{@link info.bondtnt.labs.model.research.impl.NamedDoubleParameterImpl <em>Named Double Parameter</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see info.bondtnt.labs.model.research.impl.NamedDoubleParameterImpl
	 * @see info.bondtnt.labs.model.research.impl.ResearchPackageImpl#getNamedDoubleParameter()
	 * @generated
	 */
	int NAMED_DOUBLE_PARAMETER = 3;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int NAMED_DOUBLE_PARAMETER__NAME = 0;

	/**
	 * The feature id for the '<em><b>Value</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int NAMED_DOUBLE_PARAMETER__VALUE = 1;

	/**
	 * The number of structural features of the '<em>Named Double Parameter</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int NAMED_DOUBLE_PARAMETER_FEATURE_COUNT = 2;

	/**
	 * The meta object id for the '{@link info.bondtnt.labs.model.research.impl.ParametersListImpl <em>Parameters List</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see info.bondtnt.labs.model.research.impl.ParametersListImpl
	 * @see info.bondtnt.labs.model.research.impl.ResearchPackageImpl#getParametersList()
	 * @generated
	 */
	int PARAMETERS_LIST = 4;

	/**
	 * The feature id for the '<em><b>List</b></em>' attribute list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PARAMETERS_LIST__LIST = 0;

	/**
	 * The number of structural features of the '<em>Parameters List</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PARAMETERS_LIST_FEATURE_COUNT = 1;


	/**
	 * Returns the meta object for class '{@link info.bondtnt.labs.model.research.AbstractBoundedGenericParameter <em>Abstract Bounded Generic Parameter</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Abstract Bounded Generic Parameter</em>'.
	 * @see info.bondtnt.labs.model.research.AbstractBoundedGenericParameter
	 * @generated
	 */
	EClass getAbstractBoundedGenericParameter();

	/**
	 * Returns the meta object for the attribute '{@link info.bondtnt.labs.model.research.AbstractBoundedGenericParameter#getName <em>Name</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Name</em>'.
	 * @see info.bondtnt.labs.model.research.AbstractBoundedGenericParameter#getName()
	 * @see #getAbstractBoundedGenericParameter()
	 * @generated
	 */
	EAttribute getAbstractBoundedGenericParameter_Name();

	/**
	 * Returns the meta object for class '{@link info.bondtnt.labs.model.research.BoundedDoubleParameter <em>Bounded Double Parameter</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Bounded Double Parameter</em>'.
	 * @see info.bondtnt.labs.model.research.BoundedDoubleParameter
	 * @generated
	 */
	EClass getBoundedDoubleParameter();

	/**
	 * Returns the meta object for the attribute '{@link info.bondtnt.labs.model.research.BoundedDoubleParameter#getFirstValue <em>First Value</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>First Value</em>'.
	 * @see info.bondtnt.labs.model.research.BoundedDoubleParameter#getFirstValue()
	 * @see #getBoundedDoubleParameter()
	 * @generated
	 */
	EAttribute getBoundedDoubleParameter_FirstValue();

	/**
	 * Returns the meta object for the attribute '{@link info.bondtnt.labs.model.research.BoundedDoubleParameter#getLastValue <em>Last Value</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Last Value</em>'.
	 * @see info.bondtnt.labs.model.research.BoundedDoubleParameter#getLastValue()
	 * @see #getBoundedDoubleParameter()
	 * @generated
	 */
	EAttribute getBoundedDoubleParameter_LastValue();

	/**
	 * Returns the meta object for the attribute '{@link info.bondtnt.labs.model.research.BoundedDoubleParameter#getStepValue <em>Step Value</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Step Value</em>'.
	 * @see info.bondtnt.labs.model.research.BoundedDoubleParameter#getStepValue()
	 * @see #getBoundedDoubleParameter()
	 * @generated
	 */
	EAttribute getBoundedDoubleParameter_StepValue();

	/**
	 * Returns the meta object for class '{@link info.bondtnt.labs.model.research.BoundedGenericParameter <em>Bounded Generic Parameter</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Bounded Generic Parameter</em>'.
	 * @see info.bondtnt.labs.model.research.BoundedGenericParameter
	 * @generated
	 */
	EClass getBoundedGenericParameter();

	/**
	 * Returns the meta object for the attribute list '{@link info.bondtnt.labs.model.research.BoundedGenericParameter#getAllValues <em>All Values</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute list '<em>All Values</em>'.
	 * @see info.bondtnt.labs.model.research.BoundedGenericParameter#getAllValues()
	 * @see #getBoundedGenericParameter()
	 * @generated
	 */
	EAttribute getBoundedGenericParameter_AllValues();

	/**
	 * Returns the meta object for class '{@link info.bondtnt.labs.model.research.NamedDoubleParameter <em>Named Double Parameter</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Named Double Parameter</em>'.
	 * @see info.bondtnt.labs.model.research.NamedDoubleParameter
	 * @generated
	 */
	EClass getNamedDoubleParameter();

	/**
	 * Returns the meta object for the attribute '{@link info.bondtnt.labs.model.research.NamedDoubleParameter#getName <em>Name</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Name</em>'.
	 * @see info.bondtnt.labs.model.research.NamedDoubleParameter#getName()
	 * @see #getNamedDoubleParameter()
	 * @generated
	 */
	EAttribute getNamedDoubleParameter_Name();

	/**
	 * Returns the meta object for the attribute '{@link info.bondtnt.labs.model.research.NamedDoubleParameter#getValue <em>Value</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Value</em>'.
	 * @see info.bondtnt.labs.model.research.NamedDoubleParameter#getValue()
	 * @see #getNamedDoubleParameter()
	 * @generated
	 */
	EAttribute getNamedDoubleParameter_Value();

	/**
	 * Returns the meta object for class '{@link info.bondtnt.labs.model.research.ParametersList <em>Parameters List</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Parameters List</em>'.
	 * @see info.bondtnt.labs.model.research.ParametersList
	 * @generated
	 */
	EClass getParametersList();

	/**
	 * Returns the meta object for the attribute list '{@link info.bondtnt.labs.model.research.ParametersList#getList <em>List</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute list '<em>List</em>'.
	 * @see info.bondtnt.labs.model.research.ParametersList#getList()
	 * @see #getParametersList()
	 * @generated
	 */
	EAttribute getParametersList_List();

	/**
	 * Returns the factory that creates the instances of the model.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the factory that creates the instances of the model.
	 * @generated
	 */
	ResearchFactory getResearchFactory();

	/**
	 * <!-- begin-user-doc -->
	 * Defines literals for the meta objects that represent
	 * <ul>
	 *   <li>each class,</li>
	 *   <li>each feature of each class,</li>
	 *   <li>each enum,</li>
	 *   <li>and each data type</li>
	 * </ul>
	 * <!-- end-user-doc -->
	 * @generated
	 */
	interface Literals {
		/**
		 * The meta object literal for the '{@link info.bondtnt.labs.model.research.impl.AbstractBoundedGenericParameterImpl <em>Abstract Bounded Generic Parameter</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see info.bondtnt.labs.model.research.impl.AbstractBoundedGenericParameterImpl
		 * @see info.bondtnt.labs.model.research.impl.ResearchPackageImpl#getAbstractBoundedGenericParameter()
		 * @generated
		 */
		EClass ABSTRACT_BOUNDED_GENERIC_PARAMETER = eINSTANCE.getAbstractBoundedGenericParameter();

		/**
		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute ABSTRACT_BOUNDED_GENERIC_PARAMETER__NAME = eINSTANCE.getAbstractBoundedGenericParameter_Name();

		/**
		 * The meta object literal for the '{@link info.bondtnt.labs.model.research.impl.BoundedDoubleParameterImpl <em>Bounded Double Parameter</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see info.bondtnt.labs.model.research.impl.BoundedDoubleParameterImpl
		 * @see info.bondtnt.labs.model.research.impl.ResearchPackageImpl#getBoundedDoubleParameter()
		 * @generated
		 */
		EClass BOUNDED_DOUBLE_PARAMETER = eINSTANCE.getBoundedDoubleParameter();

		/**
		 * The meta object literal for the '<em><b>First Value</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute BOUNDED_DOUBLE_PARAMETER__FIRST_VALUE = eINSTANCE.getBoundedDoubleParameter_FirstValue();

		/**
		 * The meta object literal for the '<em><b>Last Value</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute BOUNDED_DOUBLE_PARAMETER__LAST_VALUE = eINSTANCE.getBoundedDoubleParameter_LastValue();

		/**
		 * The meta object literal for the '<em><b>Step Value</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute BOUNDED_DOUBLE_PARAMETER__STEP_VALUE = eINSTANCE.getBoundedDoubleParameter_StepValue();

		/**
		 * The meta object literal for the '{@link info.bondtnt.labs.model.research.impl.BoundedGenericParameterImpl <em>Bounded Generic Parameter</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see info.bondtnt.labs.model.research.impl.BoundedGenericParameterImpl
		 * @see info.bondtnt.labs.model.research.impl.ResearchPackageImpl#getBoundedGenericParameter()
		 * @generated
		 */
		EClass BOUNDED_GENERIC_PARAMETER = eINSTANCE.getBoundedGenericParameter();

		/**
		 * The meta object literal for the '<em><b>All Values</b></em>' attribute list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute BOUNDED_GENERIC_PARAMETER__ALL_VALUES = eINSTANCE.getBoundedGenericParameter_AllValues();

		/**
		 * The meta object literal for the '{@link info.bondtnt.labs.model.research.impl.NamedDoubleParameterImpl <em>Named Double Parameter</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see info.bondtnt.labs.model.research.impl.NamedDoubleParameterImpl
		 * @see info.bondtnt.labs.model.research.impl.ResearchPackageImpl#getNamedDoubleParameter()
		 * @generated
		 */
		EClass NAMED_DOUBLE_PARAMETER = eINSTANCE.getNamedDoubleParameter();

		/**
		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute NAMED_DOUBLE_PARAMETER__NAME = eINSTANCE.getNamedDoubleParameter_Name();

		/**
		 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute NAMED_DOUBLE_PARAMETER__VALUE = eINSTANCE.getNamedDoubleParameter_Value();

		/**
		 * The meta object literal for the '{@link info.bondtnt.labs.model.research.impl.ParametersListImpl <em>Parameters List</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see info.bondtnt.labs.model.research.impl.ParametersListImpl
		 * @see info.bondtnt.labs.model.research.impl.ResearchPackageImpl#getParametersList()
		 * @generated
		 */
		EClass PARAMETERS_LIST = eINSTANCE.getParametersList();

		/**
		 * The meta object literal for the '<em><b>List</b></em>' attribute list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute PARAMETERS_LIST__LIST = eINSTANCE.getParametersList_List();

	}

} //ResearchPackage
